1. Field of the Invention
The present invention generally relates to methods and systems for accessing document records in document databases. More particularly, the present invention relates methods and systems for replicating document records from a server instance of a document database to a local replica of the document database and updating document records from the local replica of the document database to the server instance of the document database.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A document database is an organized collection of information in which related collections of documents are stored. A document database, such as Lotus Notes from IBM, comprises one or more databases which contain document records. A document record is defined as an object containing text, graphics, video, or audio objects or any other kind of “rich text” data. A document database may contain document records comprising semi-structured records created through forms and fields.
Forms are masks through which a user can view the data of a document record or create a document record and enter data. A field is an area on a form that contains a single type of information. The fields on a form define the type of information the documents can contain. The types of information may include: text, rich text, multiple choice lists or keywords, numbers, times or dates, and user names. Rich text includes voice, video, binary objects and multi-font text, tabular data, World Wide Web pages, and linked or embedded objects. The document records may be indexed and retrieved by any of the fields within the document records. Also, the document records may be indexed and retrieved by the actual contents of the document record.
Document records in a document database may be located and displayed by a user through views, folders and/or navigators. Views display document summary type fields in rows and columns for a user to find particularly interested document records. Views may be programmed to group the information according to specific criteria. Folders display lists of document records for user selection. Navigators provide a graphical way for a user to find documents or take actions without having to maneuver through views or find the commands on a pull-down menu.
Commonly, document databases are part of a distributed system comprising a plurality of servers and clients, as in the case of the client-server model. Typically, the clients and servers communicate via a local area network (LAN) or wide area network (WAN) using well-known protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP). The clients typically make requests to the servers, which manage one or more databases. Once a response for the client's request is formulated, the response is provided to the client.
Databases on a server system are typically replicated to one or more client systems. Data replication refers to the copying of data (e.g., a database or a portion of a database) from a primary database to a user's local system. In one aspect, replication allows the user to retrieve updated data information pertinent to previous database requests as the data becomes available. Further, databases are often replicated to reduce contention or access to a primary database or provide stand alone work systems and spaces. Replicated databases provide work fields that allow users and clients to create or inspect data without limiting access by others to a primary database. For clients interested in only specific aspects of the primary database, replicas of particular regions or fragments can be provided to avoid absorbing excess resources. Replicated databases also provide a backup in the event of media failure.
To ensure that a replicated document record has the most current updates, a client must check-out the corresponding document record from the server database and replicate any changes to the client's database. Currently, the process for checking-out a document from a server instance of a document database (e.g., Lotus Notes Server) to a local replica of the document database (e.g., Lotus Notes Client) involves several manual steps that must be performed by a user on both the server instance of the document database and the local replica of the document database. First, a user must access the server and find the server instance of the document database containing the document record which the user wants to check-out. Second, the user selects the document record (e.g., highlighting the document record within a view through a document database application). Third, the user requests a check-out of the document record on the server (e.g., clicks on a “Check-Out” action button). After successfully checking-out the document record on the server instance of the document database, the user exits the server instance of the document database. Then, the user must locate and access a local replica instance of the document database which may be stored in a storage system connected to the user's computer system. For example, the local replica may be stored in a storage system belonging to a local area network. Lastly, the user forces a manual replication of the local replica with the server instance of the database.
The current document check-out process can be very time consuming because the process requires a user to enter/exit multiple instances (e.g., both the server instance and the local replica) of a document database. Furthermore, the process requires a user to force a manual replication. In addition to the manual steps performed by a user, accessing a database on a server may be time consuming. Depending on the state of the network at the time of the access, a user may have to wait a long time to connect to the server or make several attempts to access the server. The processes and repercussions are similar for the current process for checking-in a document record from the local replica to the server instance of the document database.
Therefore, there is a need for a method and a system for conveniently and quickly checking-out and replicating a document record from a server instance of a document database to a local replica of the document database. Also, there is a need for a method and a system for conveniently and quickly checking-in and updating a document record from the local replica to the server instance of the document database.